﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QLBH.DataModel;

namespace QLBH.Model.Controller
{
    public class NhomHangController : QLBHEntityBase<LOAIHANG>
    {
        public static QLBHEntityBase<LOAIHANG> GetInstance()
        {
            return new NhomHangController();
        } 
        public override LOAIHANG Add(LOAIHANG entity)
        {
            if (FindBy(it => it.LOAIHANGCODE == entity.LOAIHANGCODE).FirstOrDefault() != null)
            {
                throw new Exception("Mã nhóm hàng đã tồn tại!");
            }
            if (FindBy(it => it.TENLOAIHANG == entity.TENLOAIHANG).FirstOrDefault() != null)
            {
                throw new Exception("Tên loại hàng đã tồn tại!");
            }
            return base.Add(entity);            
        }
        public override LOAIHANG Edit(LOAIHANG entity)
        {
            if (FindBy(it => it.LOAIHANGCODE == entity.LOAIHANGCODE && 
                it.LOAIHANGID!=entity.LOAIHANGID).FirstOrDefault() != null)
            {
                throw new Exception("Mã nhóm hàng đã tồn tại!");
            }
            if (FindBy(it => it.TENLOAIHANG == entity.TENLOAIHANG &&
                it.LOAIHANGID != entity.LOAIHANGID).FirstOrDefault() != null)
            {
                throw new Exception("Tên loại hàng đã tồn tại!");
            }
            return base.Edit(entity);
        }
    }
}
